<?php
/**
 * Notes:
 * User:ZSLAA
 * DateTime: 2020/10/28 10:01
 */


namespace app\admin\controller;


use app\admin\Base\BaseController;
use app\admin\model\Admin;
use app\common;
use think\facade\Request;
use think\facade\View;

class Login extends BaseController
{
    //用户登入页面
    public function index(){
        return View::fetch();
    }

    //用户登入
    public function loginIn(){
        //获取登入参数
        $data = Request::param('requireData');
        //validate数据校验
        try {
            $result = validate(\app\admin\validate\Admin::class)->scene('login')->batch(true)->check($data);
            if (true !== $result) {
                // 验证失败 输出错误信息
                return $this->jsonApi($result,0);
            }
        } catch (ValidateException $e) {
            // 验证失败 输出错误信息
            //return $e->getError();
            return $this->jsonApi("系统登入异常",0);
        }
        //判断验证码是否正确
        if(!captcha_check($data['captcha'])){
            return $this->jsonApi('输入验证码错误',0);
            return '输入的验证码错误';
        }

        //判断数据库是否存在该用户
        $admin = Admin::where('username', $data['username'])->findOrEmpty();
        if ($admin->isEmpty()){
            return $this->jsonApi('该用户不存在',0);
        }

        //校验登入密码是否正确
        if(strcmp(common::encryption($admin['salt'],$data['password']),$admin['password'])!=0){
            return $this->jsonApi('登入密码错误',0);
        }

        //登入日志处理


        //保存登入信息
        session('username',$data['username']);
        session('userid',$admin['id']);
        session('nickname',$admin['nickname']);

        return $this->jsonApi('登入成功',1);
    }

    //退出登入
    public function loginOut(){

    }


}